#pragma once
#define SIZE 4096

// 刷新模式
#define FLUSH_NONE 1 // 无缓冲
#define FLUSH_LINE (1 << 1) // 行缓冲
#define FLUSH_ALL (1 << 2) // 全缓冲

typedef struct _myFILE {

  int fileno; // 文件描述符
  int flag; // 刷新模式
  char buffer[SIZE]; // 缓冲区
  int end; // 缓冲区内有效数据的长度
}myFILE;

myFILE* my_fopen(const char *path, const char *mode);
int my_fwrite(const char* s, int num, myFILE* stream);
int my_fflush(myFILE* stream);
int my_fclose(myFILE* stream);
